1. Field of the Invention
The present invention relates to methods and apparatus of data storage and transfer, and more particularly to devices and processes for input of data from remote locations and for later transfer of the data to a destination computer.
There is a long felt need in the business, industrial and scientific communities for a method and apparatus providing an ability to record thoughts and data in remote locations. Recent electronic advances have made possible a wide variety of devices which attempt to meet this need. Portable computers, laptop computers and portable dedicated data logging devices are now commonly found in all areas of our society. Input methods range from keyboard and bar code scanner entry to voice and optical character recognition systems.
An important aspect of these devices is their ability to transfer the information stored therein to other devices. These other devices, such as desktop computers and mainframe computers, for example, often have a greater ability of analyzing, displaying, or disseminating data, when compared to the remote devices. Publishing houses, for example, have extremely powerful text editing and formatting computers with capabilities far beyond those of any portable computer. Data transfer has, accordingly, become extremely important and has given rise to an entire industry of consultants, designers and manufacturers.
2. Prior Art
Many techniques have been devised to effect the transfer of stored data between devices. Serial and parallel transfer protocols, diskettes and other removable media, advanced communications software and complex communications devices make data transfer possible. In few circumstances, however, is data transfer both truly convenient and economical.
Laptop computers are a recent and effective approach to solving the problem of remote entry of textual and numerical data. These computers are light in weight and similar in function to standard office computers, and generally possess floppy disk drives and a wide variety of communications ports as standard features.
Data transfer between such a laptop computer and a personal computer is sometimes attempted by copying data onto a floppy diskette of the laptop computer and moving the diskette to the desktop computer. Often, however, the diskette drives of laptop and desktop computers are not compatible due to differences in the data format or type of disks. Thus, data transfer via floppy diskette does not provide a truly effective method of data transfer from a remote data entry device to a computer having a data storage bank.
Similarly, direct transfer of data via cables requires that communications ports of the correct type are present on both the laptop and desktop computers. Cable transfer also requires installation of communications software on both computers, and a cable to connect the ports of both computers with the correct pin-to-pin configuration. Use of additional cable devices such as gender changes and pinout changers is also often required to match these ports. Existing communications software often changes the format of a data file and delivers it to a remote subdirectory. To use the transferred file, it must first be copied to the data directory for the application and erased from the remote subdirectory. The data must then be imported into the applications program. In the case of spreadsheets and database management programs, the data must also be parsed.
Cable transfer requires access to the expansion slots of the destination computer. These expansion slots are generally located on the back of the destination computer. Such an arrangement often requires considerable manual dexterity, such as reaching or lifting, to gain access to the port. This is a danger to expensive equipment and inconvenient for valuable personnel. Thus, direct or cable data transfer is inefficient, time consumptive, and frequently difficult to achieve.
In summary, existing techniques for data transfer between laptop computers and desktop computers require the user to provide compatible diskette drives, communications software, file translation software, cabling or other devices. These techniques also require that the user have a considerable understanding of the directory and file structures of the laptop and the desktop computer as well as an ability to access the back and perhaps even the interior of the desktop computer.
Data transfer between laptop computers and mini or mainframe computers is yet more difficult than the transfer described above. Operating systems, file structures, diskette drives and communications protocols are less compatible for such computers than for transfers between laptop computers and desktop computers. The transfer thus often requires additional hardware and software, which is generally expensive due to the wide variety of mini and mainframe computers and the correspondingly lower demand for a given transfer configuration.
Presently available remote data acquisition and storage devices, themselves, have still other problems in transferring data. These devices generally do not have diskette drives or other removable storage media. They usually rely on the cable transfer techniques summarized above. Such devices also require installation of custom circuit boards which, if available, fit into the expansion slots of the destination computer. Purchase and installation of these boards is expensive and may tax the power supply capacity of the destination computer.
An additional problem of laptop computers, unrelated to data transfer, arises from the unique size and layout of the keyboard of a laptop computer, with respect to a keyboard of a destination computer. Due to the greater portability of the laptop, laptop users adapt to the unconventional layout and become proficient in its use. After data is transferred to the destination computer, however, these users are required to adapt to an unfamiliar keyboard. The user must thus concentrate more on the keyboard, leaving less attention available for devoting to the actual task. Greater typing effort, poorer quality work and increased keystroke error are common results of this deficiency.
In U.S. Pat. No. 4,710,869, Enokizono describes a keyboard connected to a master CPU (central processing unit) which is in turn connected to a keyboard emulation circuit and a slave CPU. The object of this arrangement is to control multiple devices by providing data from a single keyboard to a plurality of microprocessors. This design, however, does not suggest that the keyboard, master CPU and keyboard emulation circuit be arranged as a remote device with a working memory, removed from a slave CPU and capable of inputting, editing or translating data independently of the slave CPU. Additionally, the disclosed device transfers keystrokes to the slave CPU on the basis of whether the keystroke is on a table in the master CPU, not on the basis of the mode of the master CPU. Further, no capability is described for replacing keystroke characters by other single characters or by strings of characters, known as macros, or for providing translation in order to permit data transfer to various different application programs while using the specific control codes of the target application program. Finally, the system fails to allow a bypass connection of the output of the keyboard to the keyboard interface of the slave processor.
Similarly, a multi option keyboard is available from Cherry Mikroschalter GMBH under the designation xe2x80x9cMULTI 2000xe2x80x9d. This product is described in an operating manual therefor as having an 8-bit microcontroller and as storing data which is changeable by the user. Specifically, a number of function keys may be coded with byte strings selectable by the user. The keyboard includes a display for inputted characters. The keyboard may communicate with its host PC (personal computer) using an RS 485/422 interface or via an RS 232 serial asynchronous interface at various baud rates, using ASCII characters which may be transformed into known IBM codes. However, the keyboard, which may also include an integrated bar code reader, a magnetic card reader or a mouse, is incapable of entering and editing data, such as barcode data, independently of its host PC. Moreover, the keyboard includes neither a portable power supply nor software allowing the user to record, edit or translate character strings into formats compatible with various application programs operating on different computers. Thus, the keyboard (which derives its power from the host PC) cannot be used as a portable device for data entry remote from the host.
Other keyboard units are known in the art, as illustrated by U.S. Pat. Nos. 4,431,988; 4,387,296; 4,293,855; 4,179,748; 4,090,247; 4,016,542 and 3,942,157. Of these, the U.S. Pat. Nos. 4,016,542 and 3,942,157 disclosures provide a portable data gathering system including a keyboard, a display and a memory, together with an arrangement for conveying the data therefrom to a remote terminal or host processor. However, the device is apparently intended to be merely a temporary data storage tool for communication with a host. There is no suggestion of using the same as a standard keyboard input for its host, or of communicating with the host via the keyboard interface thereof.
In the U.S. Pat. No. 4,090,247 there is disclosed a similar portable data entry device, including a memory for storing a plurality of multiple character records and a display. The device, which is self powered, includes a connector for direct connection between the device and a data system.
Still another portable data entry device is described in the U.S. Pat. No. 4,387,296, for use in meter reading. Thus, an input/output magnetic tape is provided for mass data storage and an EAROM (electronic alterable read only memory) is included, for storing utility rate tables. Thus, the device may be used automatically to calculate a customer""s utility charges and to print customer bills for direct delivery to the customer.
The U.S. Pat. No. 4,179,748 disclosure teaches a programmer unit, for connection to a machine keyboard, which is capable of storing (as a program) a sequence of key closures and of supplying to the machine and through the keyboard simulated key closures in the order in which the key closures were generated and stored. However, the device is simply intended to convert a non-programmable calculator into a programmable calculator, rather than to provide a portable data storage and editing device.
The U.S. Pat. No. 4,293,855 disclosure identifies a portable communication device for providing communication by people having restricted physical and/or motor handicaps. Thus, a keyboard and display are provided.
The U.S. Pat. No. 4,431,988 describes a further keyboard, including a random access memory. The keyboard is configurable for entry to several interfaces and several process controllers.
None of the above described art, however, provides a device which may be used for both remote data entry and as a keyboard input device for a host computer. None of the art teaches that such a device should be connected to its host through the keyboard interface of the host, thus to permit the portable data entry device to function as the standard keyboard for its host. Moreover, none of the art teaches that such a portable device may include editing capability and may provide output data simulating any of a plurality of application programs.
There is thus a need in the prior art for a device which may accept and edit input data, for use by a plurality of application programs, and which functions both as a remote entry device and as a standard keyboard for its host processor.
Accordingly, it is a primary object of the present invention to provide improved method and apparatus for data input, editing and/or transfer, overcoming the drawbacks of the prior art.
It is a more particular object of the invention to provide a device which is capable of operating both as a remote, portable, data entry device for a processor and as a standard keyboard therefor.
It is another object of the invention to provide a convenient and economical method of data transfer from a remote data entry device to a separate computer.
It is a more specific object of the invention to provide a method of data transfer which eliminates the need for the handling of diskettes or other removable storage media.
It is a further object of the invention to provide a method of data transfer which requires no special communications port on the destination computer.
Still another object of the invention is to provide a method of data transfer which utilizes a standard port on the destination computer which is most easily recognized and understood by computer users and which generally requires a simple, identifiable and inexpensive cable.
Yet another object of the invention is to provide a method of data transfer which delivers data directly, and in proper format, into application software in a destination computer to eliminate the need for import or parsing, and to provide the data to the proper file subdirectory for the application program.
It is a further object of the invention to provide a method of data transfer to mini or mainframe computers in a convenient and inexpensive manner.
It is an additional object of the invention to provide a method of data transfer from remote data input and storage devices in a convenient and inexpensive manner which loads the power supply of the destination computer only to a level anticipated in its design.
It is an additional object of this invention to provide a remote device capable of outputting stored character strings known as macros to another computer as well as to its own onboard files.
Still another object of the invention is to provide a method of using a remote data input or storage device, such as a laptop computer, as a user interface (keyboard) for another computer.
It is yet a further object of this invention to provide a user interface for a destination computer with the ability to record outputted keystrokes and restore damaged files on the destination computer (fault-tolerant operation).
In accordance with the foregoing objects, there is provided a portable data input, storage and editing device. The inventive device includes an input device for data entry; a storage for storing data entered by the input device; and a transfer element for transferring data entered by the input device to a host computer. Additionally, a processor is provided for controlling the input device, the storage and the transfer element to operate in one of a plurality of modes. Included in the operating modes are an active mode, in which the entered data is stored in the storage and the transfer element accesses data from the storage for transfer to the host computer, and a bypass mode, in which the transfer element transfers data directly from the input device to the host computer.
Preferably, the host computer includes a keyboard interface and the transfer element includes a connector for connecting the inventive device to the keyboard interface of the host computer. Thus, the inventive system operates for transferring the data entered by the input device to the host computer via the keyboard interface.
In that regard, the input device may be a keyboard for inputting data to the host computer, thereby providing for the host computer a detachable keyboard for standard and remote operation. More specifically, in standard operation the processor controls the input device, storage and transfer element to operate in the bypass mode, and the keyboard is attached to the host computer via the keyboard interface to input sequences of characters to the host computer. On the other hand, in the remote operation the processor controls the input device, storage and transfer element to operate in the active mode, and the keyboard is detached from the host computer for inputting sequences of characters of the entered data to the storage, for subsequent transfer via the keyboard interface to the host computer.
In accordance with one feature of the invention, there is included an onboard power supply for providing power to the input device, the storage and the processor. Additionally, the transfer element includes a power transfer component for selectively transferring power from the host computer to the input device, storage and processor when the device is connected to the host computer.
A significant aspect of the invention provides an editor for editing strings of characters represented by the data entered by the input device prior to transferring the data to the host computer. Similarly, a translator may be provided for translating sequences of entered characters from one format, usable by one application program running on the host computer, to another format, usable by another application program running on the host computer. Further, a macro generator may be included. Such a macro generator replaces one sequence of input keystroke characters by a different sequence of keystroke characters. Typically, a short sequence, for example a one- or two-keystroke sequence, is replaced by a longer sequence, such as a specific text portion or a particular sequence of control characters.
In accordance with another aspect of the invention, there is provided a bypass controller for causing the processor to establish the bypass mode. The bypass controller may include a program for selecting among a plurality of operating modes, including a keyboard emulation mode wherein the input device emulates one of a plurality of keyboards, thus allowing input and data transfer to a plurality of different host computer types. Alternatively, the bypass controller may include a plurality of switch contacts for routing data from the input device to the transfer element via the storage, and for routing data from the input device to the transfer element bypassing the storage.
Where an editor is included, the bypass controller is arranged for routing data from the input device to the transfer element via the storage in the active mode and for routing data from the input device to the transfer element in the bypass mode, in order to bypass the storage and the editor in the bypass mode.
An output key may be provided, for initiating a data output transfer via the transfer element to the host computer.
These and other objects, features and advantages of the present invention will become apparent to those skilled in the art from the following description and drawings, wherein there is shown and described a preferred embodiment of the invention, simply by way of illustration and not of limitation of one of the best modes (and alternative embodiments) suited to carry out the invention. As will be realized upon examination of the specification and from practice of the same, the present invention is capable of still other, different, embodiments and its several details are capable of modifications in various obvious aspects, all without departing from the invention. Accordingly, the drawings and the descriptions provided herein are to be regarded as illustrative in nature and not as restrictive of the invention.